import 'dart:ui';

class ColorUtil {
  /// 将十六进制颜色字符串转换为 [Color]
  /// 例如: "#6866d9", "6866d9", "FF6866d9" 均可
  static Color parseColor(String hex) {
    hex = hex.toUpperCase().replaceAll('#', '');
    if (hex.length == 6) {
      hex = 'FF$hex'; // 默认添加不透明通道
    } else if (hex.length == 3) {
      // 支持类似 #abc 的简写格式
      hex = 'FF' +
          hex.split('').map((c) => '$c$c').join(); // a -> aa, b -> bb, ...
    }
    if (hex.length != 8) {
      throw FormatException("Invalid hex color format: $hex");
    }
    return Color(int.parse(hex, radix: 16));
  }
}
